'use strict';
// Copyright 2014 Blueant Inc. All Rights Reserved.

/**
 * @fileoverview 联盟BOSS战
 * @author agl
 */

var unionBossGetWarInfo = require('./unionBoss/getBossWarInfo.js');
var unionBossGetInfo = require('./unionBoss/getBossInfo.js');
var unionBossGetGamageRank = require('./unionBoss/getDamageRank.js');
var unionBossEnterBattle = require('./unionBoss/enterUnionBossBattle.js');
var unionBossExitBattle = require('./unionBoss/exitUnionBossBattle.js');
var unionBossReceiveMemberReward = require('./unionBoss/receiveKillBossMemberReward.js');
var unionBossQueryTotalDamageRewardInfo = require('./unionBoss/queryTotalDamageRewardInfo.js');
var unionBossReceiveTotalDamageReward = require('./unionBoss/receiveTotalDamageReward.js');

module.exports = function (app) {
    return new Handler(app);
};

var Handler = function (app) {
    this.app = app;
};

/**
 * 查询BOSS战状态
 */
Handler.prototype.getBossWarInfo = function (msg, session, next) {
    unionBossGetWarInfo(msg, session, next);
};

/**
 * 查询指定BOSS信息
 */
Handler.prototype.getBossInfo = function (msg, session, next) {
    unionBossGetInfo(msg, session, next);
};

/**
 * 查询BOSS伤害排行
 */
Handler.prototype.getDamageRank = function (msg, session, next) {
    unionBossGetGamageRank(msg, session, next);
};

/**
 * 进入战斗
 */
Handler.prototype.enterUnionBossBattle = function (msg, session, next) {
    unionBossEnterBattle(msg, session, next);
};

/**
 * 结束战斗
 */
Handler.prototype.exitUnionBossBattle = function (msg, session, next) {
    unionBossExitBattle(msg, session, next);
};

/**
 * 领取联盟击杀BOSS奖励
 */
Handler.prototype.receiveKillBossMemberReward = function (msg, session, next) {
    unionBossReceiveMemberReward(msg, session, next);
};

/**
 * 查询累计伤害奖励
 */
Handler.prototype.queryTotalDamageRewardInfo = function (msg, session, next) {
    unionBossQueryTotalDamageRewardInfo(msg, session, next);
};

/**
 * 发放累计伤害奖励
 */
Handler.prototype.receiveTotalDamageReward = function (msg, session, next) {
    unionBossReceiveTotalDamageReward(msg, session, next);
};
